package main

import (
	"fmt"
	"time"
)

func main() {
	//"ecbafedcba"
	//4
	//"abcdef"
	//1
	t1 := time.Now().UTC()
	res := getMaxRepetitions("love", 2, "love", 2)
	t2 := time.Now().UTC()
	fmt.Println(t1, t2)
	fmt.Println(res)
}

/*
由 n 个连接的字符串 s 组成字符串 S，记作 S = [s,n]。例如，["abc",3]=“abcabcabc”。
如果我们可以从 s2 中删除某些字符使其变为 s1，则称字符串 s1 可以从字符串 s2 获得。例如，根据定义，"abc" 可以从 “abdbec” 获得，但不能从 “acbbe” 获得。
现在给你两个非空字符串 s1 和 s2（每个最多 100 个字符长）和两个整数 0 ≤ n1 ≤ 106 和 1 ≤ n2 ≤ 106。现在考虑字符串 S1 和 S2，其中 S1=[s1,n1] 、S2=[s2,n2] 。
请你找出一个可以满足使[S2,M] 从 S1 获得的最大整数 M 。
来源：力扣（LeetCode）
链接：
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
*/

func getMaxRepetitions(s1 string, n1 int, s2 string, n2 int) int {
	res := 0
	cut := 0;  //每遍历一次s1自增1
	sw := true //当找到循环节时就停止
	begin := 0
	begin2 := 0
	fmt.Println(s1, s2)
	q := 1
	for sw {
	flag2:
		for n := begin2; n < len(s1); n++ {
			if q == 2{
				goto flag
			}
			for k := q; k <= n2; {
				for m := begin; m < len(s2); {
					fmt.Println(string(s1[n]), string(s2[m]))
					if s2[m] == s1[n] {
						//如果对比相同

					}else { //不同


					}


				}
			}

		}

	}
flag:
	res = n1 / cut
	return res
}


if m == len(s2)-1 && k == n2 {
cut++
goto flag
} else {
if m == len(s2)-1 {
begin = 0
q++
}else {
begin = m + 1
}
if begin2 == len(s1)-1{
cut++
begin2 = 0
}
begin2 ++
goto flag2

}


if begin2 == len(s1)-1{
begin2 = 0
cut++
goto flag2
}else {
begin2 ++
goto flag2
}